package com.baichuan.zntx.domain.vo;

import java.math.BigDecimal;
import com.baichuan.zntx.domain.DeviceHistory;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baichuan.common.excel.annotation.ExcelDictFormat;
import com.baichuan.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 历史状态视图对象 t_device_history
 *
 * @author Baichuan
 * @date 2024-05-11
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DeviceHistory.class)
public class DeviceHistoryVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String id;

    /**
     * 设备编号
     */
    @ExcelProperty(value = "设备编号")
    private String deviceId;

    /**
     * 设备状态
     */
    @ExcelProperty(value = "设备状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "device_status")
    private Integer status;

    /**
     * 纬度
     */
    @ExcelProperty(value = "纬度")
    private BigDecimal latitude;

    /**
     * 经度
     */
    @ExcelProperty(value = "经度")
    private BigDecimal longtitude;

    /**
     * 电量
     */
    @ExcelProperty(value = "电量")
    private BigDecimal energy;

    /**
     * 姿态-X
     */
    @ExcelProperty(value = "姿态-X")
    private BigDecimal posX;

    /**
     * 姿态-Y
     */
    @ExcelProperty(value = "姿态-Y")
    private BigDecimal posY;

    /**
     * 姿态-Z
     */
    @ExcelProperty(value = "姿态-Z")
    private BigDecimal posZ;

    /**
     * 加速度
     */
    @ExcelProperty(value = "加速度")
    private BigDecimal accelerate;

    /**
     * 铁轨贴实
     */
    @ExcelProperty(value = "铁轨贴实")
    private Boolean track;

    /**
     * 车轮
     */
    @ExcelProperty(value = "车轮")
    private Boolean wheel;

    /**
     * rfid标签
     */
    @ExcelProperty(value = "rfid标签")
    private String rfid;

    private Date createTime;

    private Integer gpsStatus;
}
